═
T-Mail предназначен для
использования на системах,
работающих в составе FidoNet-подобных
сетей (FTN-сетей). Простота
организации, минимум технических и
программных средств, необходимых
для создания и функционирования
таких сетей, невысокая стоимость
сделали их весьма популярными во
всем мире. FTN-сети могут применяться
практически где угодно с самыми
различными целями. Наиболее
крупной из них является собственно
сеть FIDO - всемирная любительская
сеть, ставшая родоначальником всех FTN-сетей,
однако, практически каждый имеет
возможность создать свою FTN-сеть
для собственных нужд. Это может
быть сеть, объединяющая
подразделения и филиалы крупного
предприятия или концерна, сеть,
предназначенная для обменом
информацией между разработчиками и
пользователями определенных
технических или программных
средств - сферы использования
подобных сетей могут быть самыми
разнообразными. Рассмотрим пример
организации и структуры FTN-сети.
FTN-сеть имеет
иерархическую структуру (дерево
или звезда):
═
Базовой, наименьшей
структурной единицей каждой такой
сети является узел (node).
Информация обо всех узлах сводится
в основной документ, определяющий
состав и структуру сети - нодлист
(nodelist). Каждый узел занимает одну
строчку в нодлисте. Дальнейшее
иерархическое объединение узлов в
сети, регионы и зоны может
осуществляться по самым разным
признакам, часто - по
географическому. Так, в сети FIDO сеть
(net) - это объединение узлов
локальной географической области,
обычно определяемое удобной
телефонной связью.
Регион (region) - это
определенная географическая
область, включающая узлы, которые
могут быть объединены, либо, как
исключение, не объединены в сети
(независимые узлы - independent node).
Зона (zone) - это
большая географическая область,
включающая множество регионов и
охватывающая одну или несколько
стран и/или континентов. Таким
образом, зоны подразделяются на регионы,
которые, в свою очередь,
подразделяются на сети.
Сети состоят из узлов,
каждый из которых представляет
собой систему с установленной
почтовой программой - мэйлером.
Кроме того, в сети могут
присутствовать пойнты (points),
это системы, которые не описаны в
нодлисте как узлы, но связаны с
сетью через один из узлов. узел, к
которому подключен пойнт,
называется для этого пойнта боссом
(boss), через этот узел пойнт
осуществляет весь обмен
информацией с сетью.
При создании новых FTN-сетей
желательно, чтобы номер зоны не
совпадал с существующими. Каждая
сеть может иметь одну или несколько
зон, например, FIDO занимает зоны с 1-й
по 6-ю.
Условимся о некоторых
терминах, помимо описанных выше,
которые будут использованы в
документации.
СИСТЕМА - так мы будем
называть компьютер (компьютеры) с
установленной почтовой программой
- мэйлером и имеющий хотя бы один
узловой или пойнтовый адрес в
какой-либо СЕТИ.
СЕАНС СВЯЗИ - так мы
назовем процесс обмена информацией
между двумя системами сети. При
передаче информации с помощью
модемов сеанс связи считается
начавшимся с момента установления
соединения модемами и
заканчивается в момент разрыва
этого соединения.
Если ваша система
пытается установить соединение с
удаленной системой, то такие ее
действия мы будем называть ИСХОДЯЩИМ
ВЫЗОВОМ.
Если же соединение
пытается установить удаленная
система, то такие ее действия мы
будем называть ВХОДЯЩИМ ВЫЗОВОМ.
Если ваша система с
помощью исходящего вызова
установила сеанс связи, то такой
сеанс мы будем называть ИСХОДЯЩИМ
СЕАНСОМ СВЯЗИ.
Если же сеанс связи
установлен с помощью входящего
вызова удаленной системы, то такой
сеанс мы будем называть ВХОДЯЩИМ
СЕАНСОМ СВЯЗИ.
Каждая система (УЗЕЛ или
ПОЙНТ) имеет свой уникальный адрес
в сети. Он в FTN-сети формируется
следующим образом:
A:B/C.D
где:
A - номер зоны (например, 2);
B - номер сети, как правило,
первые две цифры номера сети
являются номером региона (например,
5030);
C - номер узла (например, 100);
D - номер пойнта (например, 15.
Для узла равен 0 или отсутствует)
Таким образом,
пойнтовая система номер 15 узла 100
сети 5030 региона 50 зоны 2 будет иметь
адрес 2:5030/100.15. Сам узел 100 будет
иметь адрес 2:5030/100 (что эквивалентно
2:5030/100.0, последний 0 часто
опускается).
Поскольку T-Mail
предназначен для функционирования
в FTN-сетях, он использует адресацию,
принятую в таких сетях. Это
означает, что каждый узел сети
описывается уникальным сочетанием
трех или четырех целых чисел (см.
выше):
zone:net/node.point═ (4-d адрес)
или
zone:net/node══════ (3-d адрес)
Ограничения для
составляющих адреса═ при
использовании T-Mail, таковы:
zone═ - от 1 до 32767
net ══- от 1 до 32767
node═ - от 0 до 32767
point - от 0 до 32767
═
Необходимо отметить,
что при использовании файловых
ящиков и при использовании Bink-Style Outbound
некоторые ограничения будут иными,
что указано в соответствующих
разделах настоящей документации.
Если в данном документе
вам встретится понятие
"адрес", то имеется ввиду
именно адрес, принятый в FTN-сетях,
например, 2:5030/15.1.
В большинстве случаев
(там, где это не оговорено особо) T-Mail
понимает сокращенную запись адреса
и вы можете ее использовать. При
расшифровке в качестве базового
адреса T-Mail использует основной
адрес узла (переменная Address в файле t-mail.ctl).
Например, если адрес
вашего узла 2:5030/15, то адрес 2:5030/15.1
можно записать следующими
способами:
2:5030/15.1
5030/15.1
/15.1
15.1
.1
═
Адрес 2:5030/6.601 можно записать
так:
═
2:5030/6.601
5030/6.601
/6.601
6.601
═
Адрес 2:469/48.12 можно записать
только так:
═
2:469/48.12
469/48.12
═
Наконец, запись адреса 2:5030/8
(2:5030/8.0) выглядит так:
═
2:5030/8
2:5030/8.0
5030/8
5030/8.0
/8
/8.0
8.0
8
А вот сокращенной
записи для адреса 1:150/89.5 для нашего
примера существовать не будет.
Текущий адрес в очереди
можно заменить символом '\'.
В дальнейшем подобные
конструкции будем обозначать так:
<address>.
В большинстве случаев T-Mail
позволяет использовать группы
адресов. Для этого применяется
символ '*'. Этот символ можно
использовать для замены любого
элемента адреса целиком, либо как
часть элемента адреса. Во втором
случае он может быть только
последним в элементе адреса, как
показано в примерах.
Ниже приведены примеры
использования этого символа для
описания группы адресов
(по-прежнему предполагаем, что ваш
адрес - 2:5030/15):
2:*/*.*═══ -══════════════ все
адреса во 2-й зоне;
5030/*═══ -══════════════ то
же, что 5030/*.0 - все узлы сети 2:5030;
/*═══════════ -══════════════
то же самое;
*.0══════════ -══════════════
то же самое;
2*:50*/10*.*════════ -══════════════
все узлы, номер зоны которых
начинается с 2 (например, 2, 21, 228), у
которых номер сети начинается с 50
(например, 50, 5030, 501, 5020, 5079), и номера
которых начинаются на 10 (например,
10, 101, 100, 1034).
К примеру, этим условиям
удовлетворяет адрес 21:501/1034;
*:*/*.*══ - все
адреса;
All══════════ -
все адреса;
Кроме того, можно
определить группу адресов для
узлов с определенным хабом, адрес
которого задается с помощью
конструкции _<hub address>, где <hub address>
- адрес хаба. Сам хаб также входит в
это множество. Например:
_2:5030/6══════════════ (все
узлы, хабом для которых является
2:5030/6, включая 2:5030/6)
_5030/27═══════════════ (все
узлы, хабом для которых является
2:5030/27, включая 2:5030/27)
В дальнейшем подобные
конструкции будем обозначать так:
<address group>.
Группы адресов могут
объединяться в список адресов, в
котором группы или адреса следуют
через символ "пробел",
например:
5030/* 5040/*.* 5050/25.* /18
Приведенный пример
следует читать так: "все узлы
сети 5030, все системы сети 5040, узел
5050/25 и его пойнты, узел 18 в вашей
сети".
В T-Mail зарезервировано
несколько ключевых слов, которые
можно использовать в строках,
задающих список адресов:
Слово |
Как T-Mail его
воспринимает |
All |
То
же, что *:*/*.*, то есть системы с
любыми адресами. |
Boss |
Имеет
смысл только для пойнтов.
Заменяется на адрес,
составленный из значений zone, net,
node, взятых из адреса вашей
системы. Иначе говоря: myzone:mynet/mynode.0. |
Listed |
"Все═
известные═ системы".═ Известными
считаются системы,══ включенные══
в══ используемые══ вашей
системой нодлисты и
пойнтлисты, а также системы,
описанные══ в══ файле══ подстановок══
subst.lst, структура═ которого═ будет═
подробно рассмотрена ниже. |
Protected |
Все═
системы, сеансы═ связи с═ которыми
защищены паролем. ═ |
Кроме═ того,══ в═ списках═
адресов,═ можно ══использовать═ флаги.
T-Mail считывает
информацию о флагах для каждой
системы из нодлистов и пойнтлистов,
а также из файла subst.lst (глава 7). При
этом некоторые флаги включают в
себя (подразумевают) другие флаги и
системе будут присвоены они все.
Эти соответствия приведены в
разделе IV. Например, флаг V32B
включает в себя флаг V32,
следовательно при считывании для
системы флага V32B этой системе будут
присвоены как флаг V32B, так и флаг V32.
Обратное неверно, то есть, при
считывании для системы флага V32
системе НЕ присваивается флаг V32B.
При использовании
какого-либо флага в списке адресов T-Mail
подразумевает все системы, для
которых был установлен данный флаг.
То есть, если в списке адресов
указан флаг V32, то подразумеваться
будут только те системы, для
которых этот флаг был присвоен при
считывании информации из нодлиста,
пойнтлиста или файла subst.lst.
В списках адресов можно
использовать следующие флаги
нодлиста:
CM, HST, H14, H16, H19, H21, MNP, V42, V42B,
V32,═ V32B,═ V32T,═ VFC,═ V34,═ PEP,═ ZYX,
Z19, ISDNA, ISDNB, ISDNC, V110L, V110H, X75, V120L, V120H.
Флаг V32 автоматически
присваивается системе пpи чтении
строки из нодлиста в соответствии
со значением поля baudrate в нодлисте
9600. Подробно флаги нодлиста описаны
в разделе IV настоящей документации.
Кроме стандартных
флагов нодлиста можно использовать
псевдофлаги DOWN и PVT. Первый
подразумевает системы, имеющие
префиксы Down или Hold в нодлисте,
второй - системы, имеющие префиксы Pvt
в нодлисте.
Пример:
(subst.lst)
2:5030/1500 FLAGS ~DOWN════════════
; отмена статуса Down для узла
Есть возможность
дополнительно задать до четырех
пользовательских флагов, помимо
указанных выше. Они описываются в
файле t-mail.ctl с помощью переменных UserDef_Flag,
которые имеют вид:
UserDef_Flag <flagname>
где═ <flagname> -═ имя
флага.═ Флаги присваиваются═ системам
так═ же, как и обычные флаги═ нодлиста
- либо в═ нодлисте справа от поля═ <baudrate>
(поля <flags>, <user flags>),═ либо в
файле subst.lst. Использовать═ их можно
так же и во всех тех же═ местах, где
и обычные флаги нодлиста.
Пользовательские флаги═ могут
задаваться═ и использоваться═ без
учета═ регистра символов (то есть,══
к═ примеру,══ флаги══ SUPER══ и═ SuPer══ являются═
тождественными).
Пользовательские флаги
должны быть описаны в t-mail.ctl ДО их
первого использования в этом файле.
Пример использования
пользовательского флага:
(t-mail.ctl)
UserDef_Flag══ ISKRA
(subst.lst)
5051/16══ ISKRA
(events.ctl)
[1] Hold ISKRA
[2] Hold 5030/* ISKRA
При задании списка
можно использовать две
дополнительные операции:
исключение и инверсию. Они вводятся
с помощью символов-префиксов '!' и '~'.
Символ '!' используется
для того, чтобы исключить
определенные адреса из списка
адресов. Группа адресов, перед
которой стоит символ "!",
исключается из всего списка
адресов, предшествующего ей в
строке (см. пример ниже).
Символ '~' обозначает
инверсию (обратное значение) флага,
перед которым он стоит. При этом
инвертируется только сам флаг,
порожденные им умолчания
(включаемые в него флаги) - нет.
Например, выражение '~V34' обозначает
"все системы, НЕ ИМЕЮЩИЕ флага V34"
(и только его). Кроме того, инверсию
можно использовать с ключевыми
словами "Listed" и "Protected" (см.
выше).
Примеры:
СM ZYX
обозначает "все CM-системы
и системы, имеющие флаг ZYX (или Z19)"
СM !ZYX
обозначает "все CM-системы,
кроме систем, имеющих флаг ZYX (или Z19)"
CM ~ZYX
обозначает "все CM-системы
и системы, не имеющие флага ZYX (или Z19)"
ZYX !CM
обозначает "все
системы, имеющие флаги ZYX (и Z19),
кроме CM-систем"
СM !~ZYX
ZYX !~CM
обозначает "все СМ
системы, имеющие флаг ZYX (или Z19)".
5030/*.*═ !CM
обозначает "все не-CM
системы сети 5030".
5030/*.* 5020/*.*
!5030/151 !5020/35
обозначает═ "все═ системы═
сети═ 5030,═ кроме═ 5030/151,═ а также все
системы сети 5020, кроме 5020/35"
5020/*.* 5030/*.*
!~CM 5030/151 5010/*.* !5020/5
обозначает "все CM-системы
сетей 5020═ и 5030, за исключением
системы
5020/5,
система 5030/151 и все системы сети
5010"
2:24*/*.* !V110L !V110H !X75 !V120L !V120H
обозначает "все
системы региона 24 зоны 2, кроме ISDN-систем"
Список адресов может
содержаться в отдельном файле. В
этом случае вместо списка адресов
следует указать имя этого файла,
предварив его символом '@'. При этом
в качестве разделителей внутри
файла со списком адресов могут
использоваться не только пробелы,
но и символы новой строки.
Например:
@nodes.lst
или
@c:\t-mail\dummy\nodes.lst
В дальнейшем подобные
конструкции будем обозначать так:
<address list>.
Таким образом, если вам
в документации встретится
обозначение <address>, то в этом
месте должен быть точно указан
конкретный адрес, например: 2:5030/15.5.
Выражение <address group> или <addr group>
подразумевает либо единственный
адрес, либо группу адресов,
например: 2:5030/*.*. А выражение <address list>
или <addr list> подразумевает либо
конкретный адрес, либо группу
адресов, либо список адресов,
например: 5030/*.* !CM !ZYX.